#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

class QTranslator;
class HttpDatabaseClientStore;
class MetaTypes;
class Notifier;
class SectionViewTabWidget;

class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    explicit MainWindow (QWidget *parent = 0);
    ~MainWindow();

signals:
    void notifyHint (QString title, QString message);
    void notifyInformation (QString title, QString message);
    void notifyWarning (QString title, QString message);

private:
    void setupTranslations();
    void setupChildObjects();
    void addSectionViewTab();
    void loadSettings();
    void saveSettings();
    void closeEvent (QCloseEvent* event);

    MetaTypes* m_metaTypes;
    Notifier* m_notifier;
    QSharedPointer<HttpDatabaseClientStore> m_httpDatabaseClientStore;
    QTranslator* m_qtTranslator;
    SectionViewTabWidget* m_sectionViewTabWidget;
};


#endif // MAINWINDOW_H
